﻿//using UnityEngine;
//using System.Collections;
//using UnityEditor;
//using System.Collections.Generic;
//using System.Xml;
//using System.IO;
//using System.Text;
//using System;
//public class MyEditor : Editor
//{
//    //将游戏场景导出为XML格式//
//    [MenuItem("GameObject/ExportSceneToXML")]
//    static void ExportSceneToXML()
//    {
//        string filepath = Application.dataPath + @"/StreamingAssets/scene.xml";
//        if (File.Exists(filepath))
//        {
//            File.Delete(filepath);
//        }
//        XmlDocument xmlDoc = new XmlDocument();
//        XmlElement root = xmlDoc.CreateElement("gameObjects");
//        //遍历所有的游戏场景
//        foreach (UnityEditor.EditorBuildSettingsScene S in UnityEditor.EditorBuildSettings.scenes)
//        {
//            //当场景启用
//            if (S.enabled)
//            {
//                //得到场景的名称
//                string name = S.path;
//                //打开这个场景
//                EditorApplication.OpenScene(name);
//                XmlElement scenes = xmlDoc.CreateElement("scenes");
//                scenes.SetAttribute("name", name);
//                foreach (GameObject obj in UnityEngine.Object.FindObjectsOfType(typeof(GameObject)))
//                {
//                    if (obj.transform.parent != null && obj.transform.parent.name == "Scene")
//                    {
//                        XmlElement gameObject = xmlDoc.CreateElement("gameObjects");
//                        gameObject.SetAttribute("name", obj.name);

//                        gameObject.SetAttribute("asset", obj.name + ".prefab");


//                        string objName = obj.name;
//                        string[] nameInfo = name.Split(new string[] { "_" }, StringSplitOptions.RemoveEmptyEntries);


//                        XmlElement ID = xmlDoc.CreateElement("ID");
//                        ID.InnerText = nameInfo[0];

//                        XmlElement Type = xmlDoc.CreateElement("Type");
//                        Type.InnerText = nameInfo[1];

//                        XmlElement Index = xmlDoc.CreateElement("Index");
//                        Index.InnerText = nameInfo[2];

//                        XmlElement NpcName = xmlDoc.CreateElement("NpcName");
//                        NpcName.InnerText = objName;

                        
//                        //XmlElement transform = xmlDoc.CreateElement("transform");
//                        //XmlElement position = xmlDoc.CreateElement("position");
//                        XmlElement position_x = xmlDoc.CreateElement("PosX");
//                        position_x.InnerText = obj.transform.position.x + "";
//                        XmlElement position_y = xmlDoc.CreateElement("PosY");
//                        position_y.InnerText = obj.transform.position.y + "";
//                        XmlElement position_z = xmlDoc.CreateElement("PosZ");
//                        position_z.InnerText = obj.transform.position.z + "";
//                        //position.AppendChild(position_x);
//                        //position.AppendChild(position_y);
//                        //position.AppendChild(position_z);


//                        //XmlElement rotation = xmlDoc.CreateElement("rotation");
//                        //XmlElement rotation_x = xmlDoc.CreateElement("x");
//                        //rotation_x.InnerText = obj.transform.rotation.eulerAngles.x + "";
//                        //XmlElement rotation_y = xmlDoc.CreateElement("y");
//                        //rotation_y.InnerText = obj.transform.rotation.eulerAngles.y + "";
//                        //XmlElement rotation_z = xmlDoc.CreateElement("z");
//                        //rotation_z.InnerText = obj.transform.rotation.eulerAngles.z + "";
//                        //rotation.AppendChild(rotation_x);
//                        //rotation.AppendChild(rotation_y);
//                        //rotation.AppendChild(rotation_z);

//                        //XmlElement scale = xmlDoc.CreateElement("scale");
//                        //XmlElement scale_x = xmlDoc.CreateElement("x");
//                        //scale_x.InnerText = obj.transform.localScale.x + "";
//                        //XmlElement scale_y = xmlDoc.CreateElement("y");
//                        //scale_y.InnerText = obj.transform.localScale.y + "";
//                        //XmlElement scale_z = xmlDoc.CreateElement("z");
//                        //scale_z.InnerText = obj.transform.localScale.z + "";
//                        //scale.AppendChild(scale_x);
//                        //scale.AppendChild(scale_y);
//                        //scale.AppendChild(scale_z);

//                        //transform.AppendChild(position);
//                        //transform.AppendChild(rotation);
//                        //transform.AppendChild(scale);

//                        //gameObject.AppendChild(transform);
//                        gameObject.AppendChild(ID);
//                        gameObject.AppendChild(Type);
//                        gameObject.AppendChild(Index);
//                        gameObject.AppendChild(position_x);
//                        gameObject.AppendChild(position_y);
//                        gameObject.AppendChild(position_z);
//                        gameObject.AppendChild(NpcName);


//                        scenes.AppendChild(gameObject);
                        
//                    }
//                }
//                root.AppendChild(scenes);
//                xmlDoc.AppendChild(root);
//                xmlDoc.Save(filepath);
//            }
//        }
//        //刷新Project视图， 不然需要手动刷新哦
//        AssetDatabase.Refresh();
//    }
//}